package com.cmc.cloud.cmclink.doc.vo.manifestvo.manifestcntr;

import com.cmc.cloud.cmclink.doc.util.so.CompareUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * 订舱预配信息Response SUM VO
 *
 * @author codegen
 */
@Schema(description = "管理后台 - 箱信息 SUM VO")
@Data
@ToString(callSuper = true)
public class ManifestCntrSumCheckVO {
    @Schema(description = "blNoId")
    private Long blNoId;
    @Schema(description = "订舱号")
    private String bookingNo;
    @Schema(description = "箱号")
    private String cntrNo;
    @Schema(description = "铅封号")
    private String sealNo;
    @Schema(description = "箱型")
    private String cntrType;
    @Schema(description = "尺寸")
    private String cntrSize;
    @Schema(description = "箱内货物件数")
    private Long quantitySum;
    @Schema(description = "箱内货物毛重")
    private BigDecimal grossWeightSum;
    @Schema(description = "箱内货物体积")
    private BigDecimal measurementSum;

    public static CompareUtils<ManifestCntrSumCheckVO> getMultiFieldComparatorCombine() {
        return new CompareUtils<ManifestCntrSumCheckVO>().comparingField(ManifestCntrSumCheckVO::getCntrNo)
                .thenComparing(ManifestCntrSumCheckVO::getSealNo)
                .thenComparing(ManifestCntrSumCheckVO::getCntrSize)
                .thenComparing(ManifestCntrSumCheckVO::getCntrType)
                .thenComparing(ManifestCntrSumCheckVO::getQuantitySum)
                .thenComparing(ManifestCntrSumCheckVO::getGrossWeightSum)
                .thenComparing(ManifestCntrSumCheckVO::getMeasurementSum);
    }

}
